/**
 * 给定一个字符串 s ，请你找出其中不含有重复字符的 最长子串 的长度
 */

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function (s) {
    const map = {}
    let left = 0
    let len = 0
    for (let i = 0; i < s.length; i++) {
        map[s[i]] = map[s[i]] + 1 || 1
        while (map[s[i]] > 1) {
            map[s[left]]--
            left++
        }
        len = Math.max(len, i - left + 1)
    }
    return len
};